import random
import re
import string


def split_string(s):
    parts = s.split('_', 1)
    part1 = parts[0]
    part2 = parts[1] if len(parts) > 1 else ''
    return part1, part2


def extract_english_letters(text):
    """
    从中文+英文混合字符串中提取纯英文字母部分

    参数:
        text (str): 包含中文和英文的字符串，可能有空白符

    返回:
        str: 清理后的纯英文字母部分（A-Z, a-z）
    """
    # 1. 移除所有空白字符
    cleaned_text = re.sub(r'\s+', '', text)

    # 2. 找到第一个英文字母的位置
    # [A-Za-z] 匹配所有大小写英文字母
    match = re.search(r'[A-Za-z]', cleaned_text)

    if not match:
        return ""  # 如果没有英文字母，返回空字符串

    # 3. 从第一个英文字母开始，提取连续的英文字母
    start_pos = match.start()
    # 匹配从start_pos开始的所有连续英文字母
    english_part = re.findall(r'[A-Za-z]+', cleaned_text[start_pos:])

    return ''.join(english_part) if english_part else ""


def is_string_non_empty_and_not_only_whitespace(s):
    return s is not None and not re.match(r'^\s*$', s)


def random_string(length=10):
    """生成指定长度的随机字符串"""
    letters = string.ascii_letters + string.digits  # 包含大小写字母和数字
    return ''.join(random.choice(letters) for _ in range(length))
